Measuring SDRAM Control Signal Timing

ABSTRACT

Measuring control signal timing for synchronous dynamic random access memory (‘SDRAM’), including combining into a trigger signal for an oscilloscope display control signals of an SDRAM under test, the control signals derived only from a single type of memory operations; and driving, continually during both READ and WRITE operations to and from the SDRAM under test, the oscilloscope display with a memory bus data signal (‘DQ’) and a memory bus clock signal (‘DQS’) from the SDRAM under test.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The field of the invention is data processing, or, more specifically,methods and apparatus for measuring control signal timing forsynchronous dynamic random access memory (‘SDRAM’).

2. Description of Related Art

The SDRAM memory bus is a synchronous bus having both data signals andclock signals. Data signals are called ‘DQ,’ and the clock is called a‘strobe’ and labeled ‘DQS’ to differentiate it from the system clocksignal which is also one of the SDRAM control signals. The SDRAM memorybus is bidirectional, driven by a memory controller during READoperations, driven by the SDRAM during WRITEs. The timing relationshipbetween DQ and DQS is part of the official JEDEC SDRAM specification,therefore always a subject of test. This timing relationship, however,is very difficult to measure in test because the timing between DQ andDQS varies between READ and WRITE operations. In READs, the memorycontroller drives the DQS signal in phase with the DQ signal. In WRITEs,the SDRAM device drives the DQS signal out of phase with the DQ signal.When a sequence of READ and WRITE operations is captured and displayedon a test oscilloscope, therefore, the result is the jumbled,difficult-to-read display illustrated in FIG. 1.

FIG. 1 sets forth a line drawing of a test oscilloscope (118) with anoscilloscope display (120) upon which are shown test traces for DQ (102)and DQS (104), with the traces so overlapping and jumbled that it is notpossible to measure the control signal timing. In FIG. 1, the scopetrace and capture is triggered on a system clock, which is also an SDRAMbus control signal, and the signals captured, in addition to the memorybus signal DQS, include a test sequence of DQ data signals that includesboth READ operations and WRITE operations. The oscilloscope (118)therefore captures and displays both phases of DQS, one for READs andone for WRITES as well as two phases of DQ. The result is the difficultyshown.

Prior art clarifies the scope display by writing a program to loop aseries of consecutive READ operations only or a series of consecutiveWRITE operations only while performing timing measurements. Looping onlyWRITE or only READ operations, however, risks missing signal qualityissues that exist only during bus turn around time from WRITE to READ orfrom READ to WRITE. Prior art has also attempted to clarify the testdisplay by using a separate logic analyzer to separate the signals, butthis approach requires additional, expensive equipment and expertise.

SUMMARY OF THE INVENTION

Method and apparatus for measuring control signal timing for synchronousdynamic random access memory (‘SDRAM’), including combining into atrigger signal for an oscilloscope display control signals of an SDRAMunder test, the control signals derived only from a single type ofmemory operations; and driving, continually during both READ and WRITEoperations to and from the SDRAM under test, the oscilloscope displaywith a memory bus data signal (‘DQ’) and a memory bus clock signal(‘DQS’) from the SDRAM under test.

The foregoing and other objects, features and advantages of theinvention will be apparent from the following more particulardescriptions of exemplary embodiments of the invention as illustrated inthe accompanying drawings wherein like reference numbers generallyrepresent like parts of exemplary embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 sets forth a line drawing of a prior art test oscilloscope withan oscilloscope display upon which are shown test traces for DQ 102) andDQS.

FIGS. 2 and 3 set forth line drawings of example apparatus that measurescontrol signal timing for SDRAM according to embodiments of the presentinvention.

FIG. 4A illustrates an example trigger circuit useful in measuring SDRAMcontrol signal timing according to embodiments of the present invention.

FIG. 4B illustrates an electronic switch circuit useful in measuringSDRAM control signal timing according to embodiments of the presentinvention.

FIG. 5 sets forth a flow chart illustrating an example method ofmeasuring SDRAM control signal timing according to embodiments of thepresent invention.

FIG. 6 sets forth a line drawing of an oscilloscope display upon whichare measured SDRAM control signal timing according to embodiments of thepresent invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Example apparatus and methods for measuring control signal timing forsynchronous dynamic random access memory (‘SDRAM’) in accordance withembodiments of the present invention are described with reference to theaccompanying drawings, beginning with FIG. 2. FIG. 2 sets forth a linedrawing of example apparatus that measures control signal timing forSDRAM according to embodiments of the present invention. The apparatusof FIG. 2 includes a memory controller coupled through a memory bus(106) to an SDRAM (108) under test. The memory controller (104) is adigital circuit which manages the flow of data going to and from theSDRAM. It can be a separate chip or integrated into another chip, suchas on the die of a microprocessor. Computers using Intel microprocessorshave traditionally had a memory controller implemented on theirmotherboard's northbridge, but some modern microprocessors, such asDEC/Compaq's Alpha 21364™, AMD's Athlon 64™ and Opteron™ processors,IBM's POWER5™, Sun Microsystems UltraSPARC T1™ and more recently, IntelCore i7™ have a memory controller manufactured directly onto themicroprocessor die. The memory bus (106) is composed of all the signallines needed to control the SDRAM and move digital data between thememory controller (104) and the SDRAM (108). The exact composition ofthe memory bus can vary among different types of SDRAM, but typicallyincludes, for example, lines such as a system clock line, data lineslabeled DQ, a memory bus clock or ‘strobe’ labeled DQS, Chip Select(‘CS’), Write Enable (‘WE’), Column Address Strobe (‘CAS’), Row AddressStrobe (‘RAS’), Clock Enable (‘CKE’), Bank Select (‘BA’), or Data Mask(‘DQM’).

The SDRAM is a kind of dynamic random access memory. Dynamic randomaccess memory or ‘DRAM’ is a type of random access memory that storeseach bit of data in a separate capacitor within an integrated circuit.Because capacitors leak charge, the stored data eventually fades unlessthe capacitor charge is refreshed periodically. Because of this refreshrequirement, the memory is referred to as ‘dynamic’ memory as opposed tovarious forms of static memory. Synchronous dynamic random access memoryor ‘SDRAM’ is DRAM with a synchronous interface. DRAM typically has anasynchronous interface, to that it responds as quickly as possible tochanges in control inputs. SDRAM has a synchronous interface, meaningthat it waits for a clock signal before responding to control inputs andis therefore synchronized with the computer's system bus—which in factis typically included among memory bus signals for SDRAM. The systemclock is used to drive an state machine in SDRAM chips that pipelinesincoming instructions, which allows SDRAM to have a more complex patternof operation than a typical DRAM with no synchronized interface.Pipelining means that SDRAM can accept a new instruction before it hasfinished processing a previous instruction. In a pipelined WRITE, theWRITE command can be immediately followed by another instruction withoutwaiting for data actually to be written to memory. In a pipelined READ,the requested data appears after a fixed number of clock cycles afterthe READ instruction is received by an SDRAM chip, cycles during whichadditional instructions can be sent. This delay is referred to as‘latency.’

The apparatus in the example of FIG. 2 includes a test oscilloscope(118) that is connected through a test probe (116) to the SDRAM (108)under test. The test probe (116) connects from the SDRAM (108) to theoscilloscope (118) DQ (102), DQS (104), and a trigger signal (114). Thetrigger signal (112) is developed from the control signals CS, RAS, CAS,and WE which are conducted through several control signal lines (110) toa trigger circuit (112) in the test probe (116). The trigger circuitincludes a network of combinatorial logic that combines the controlsignals from the SDRAM into a trigger signal for the oscilloscopedisplay. The trigger circuit combines control signals that are derivedonly from a single type of memory operations, either READ operationsonly or WRITE operations only. The memory controller (104) and the SDRAM(108) under test drive the oscilloscope display (120) with the memorybus data signal DQ (102) and the memory bus clock signal DQS (104) fromthe SDRAM under test, and they drive DQ and DQS to the oscilloscopecontinually during both READ and WRITE operations to and from the SDRAMunder test. That is, the trigger signal (114) is derived from controlsignals occurring during only READs or only WRITES, whereas the DQ andDQS signals whose timing is to be measured on the scope are drivencontinually by a test pattern or test sequence that includes both READsand WRITEs. The trigger signal is based on READS only or WRITES only; DQand DQS are from a series including both READs and WRITEs. The result isto clarify the display by triggering the display with a trigger signalthat is perfectly in phase with either the READs or the WRITEs—dependingon which mode is selected—as illustrated and explained in more detailbelow with reference to FIG. 6.

For further explanation, FIG. 3 sets forth a line drawing of furtherexample apparatus that measures control signal timing for SDRAMaccording to embodiments of the present invention. The apparatus in theexample of FIG. 3 is very similar to the apparatus in the example ofFIG. 2 and functions in very much the same way, although its structureis somewhat different. The trigger circuit (112) combines the controlsignals WE, CAS, RAS, and CS from the control signal lines (110) just asin the example of FIG. 2, using control signals derived only from asingle type of memory operations, either READs only or WRITES only. Thememory controller (104) and the SDRAM (108) under test drive theoscilloscope display (120) with the memory bus data signal DQ (102) andthe memory bus clock signal DQS (104) from the SDRAM under test, andthey drive DQ and DQS to the oscilloscope continually during both READand WRITE operations to and from the SDRAM under test.

In the example of FIG. 3, however, the trigger circuit, which wasinstalled in the test probe in the example of FIG. 3, is nowmanufactured directly into SDRAM under test as part of the internalcircuitry of the SDRAM. In the example of FIG. 3, one of the externalconnectors (115) of the SDRAM is dedicated to the trigger signal (114),and only three signal lines (102, 104, 114) need be brought from theSDRAM to the test probe—contrasted with six lines between the SDRAM andthe test probe in the example of FIG. 2—evidencing a simpler test setupin the example of FIG. 3 as well as simpler internal structure of thetest probe (116). Readers will recognize that in another embodiment (notshown), the trigger circuit (108) is installed in the oscilloscope (118)itself, requiring the test probe to bring all the way to the scope allthe control lines whose signal are combined into the triggersignal—evidencing a somewhat more complex test setup—although both theprobe (116) and the SDRAM (108) in such an embodiment have simplerinternal circuitry.

For further explanation, FIG. 4A sets forth an example trigger circuit(112) that combines into a trigger signal (114) for an oscilloscopedisplay control signals of an SDRAM under test, with the control signalsderived only from a single type of memory operations. The triggercircuit of FIG. 4A is designed to combine control signals for the SDRAMinstructions described in Table 1.

TABLE 1 SDRAM INSTRUCTION CHART Signal Instruction CS RAS CAS WE DeviceDeselected H X X X Mode Register Set L L L L Refresh L L L H RefreshExit L H H H ZQ Calibration L H H L Precharge L L H L Bank Active L L HH Read L H L L Write L H L H

As shown in Table 1, READ operations for the SDRAM whose instruction arespecified by Table 1 are defined as CS low, RAS high, CAS low, WE high,and WRITE operations are defined as CS low, RAS high, CAS low, WE high.The timing sequence for such an SDRAM is that CS, WE, and RAS are setwhen CAS transitions. In addition, the SDRAM reads and writes dataacross columns in a row, so that column information is reset morefrequently that row information. What is transmitted through the triggercircuit as a trigger signal, therefore, is in effect a sequence of CAStransitions, high to low when column data is valid, low to high to waitfor new column data to become valid, and so on.

In the trigger circuit (112) of FIG. 4A, AND gates (122, 124, 126)combine control signals into a trigger signal only for WRITE operations,because gates (124, 126) are active only when WE is high. Gates (122,124, 126) combine control signals into a trigger signal according to thelogic function, which describes the signal at test point (128) as afunction of the input control signals: (NOT CS) AND RAS AND (NOT CAS)AND WE. Gates (132, 134, 136) combine control signals into a triggersignal only for READ operations, because gates (134, 136) are activeonly when WE is low. Gates (132, 134, 136) combine control signals intoa trigger signal according to the logic function, which describes thesignal at test point (130) as a function of the input control signals:(NOT CS) AND RAS AND (NOT CAS) AND (NOT WE).

The trigger circuit (112) of FIG. 4A includes a time shifting device(138), which adjusts the trigger signal (114) for the latency effects ofSDRAM access times by time-shifting the trigger signal. Devices that areuseful or that can be adapted to be useful as a time shifting device formeasuring SDRAM control signal timing according to embodiments of thepresent invention include shift registers, delay lines, phase lockedloops, and delay locked loops, and others that will occur to those ofskill in the art. To the extent that a latency can be measured as anintegral number of trigger signal cycles, then a shift register with thesame integral number of shift stages may be the preferred circuit. Tothe extent that the delay needs to represent fractional portions of atrigger signal cycle, a delay line or delay locked loop may bepreferred.

The trigger circuit (112) of FIG. 4A includes a switch (142) whosesetting determines the single type of memory operations from which thetrigger signal (114) is derived. When the switch (142) is set toposition (144), WRITE operations are the single type of memoryoperations from which the trigger signal (114) is derived. When theswitch (142) is set to position (146), READ operations are the singletype of memory operations from which the trigger signal (114) isderived.

The switch (142) in FIG. 4A is represented as electro-mechanical instructure, as might be mounted on a housing of a test probe, forexample, although such structure is merely optional. FIG. 4B illustratesan alternative form of switch, an electronic switch (148) that performs,under control of signal values on a switch control line (160), the samefunction of determining the single type of memory operations from whichthe trigger signal (114) is derived. When the switch control line (160)is high, AND gate (150) and OR gate (154) determine that WRITEoperations (156) are the single type of memory operations from which thetrigger signal (114) is derived. When the switch control line (160) islow, AND gate (152) and OR gate (154) determine that READ operations(158) are the single type of memory operations from which the triggersignal (114) is derived. Embodiments like those illustrated andexplained with reference to FIG. 3, in which the trigger circuit (112)is installed in the SDRAM (108) can use a electronic switch like switch(148) to determine the single type of memory operations from which thetrigger signal (114) is derived, adding the switch control line (160 onFIG. 3) through an additional one of the external connectors (117 onFIG. 3) of the SDRAM (108 on FIG. 3) from the test probe (116) to thetrigger circuit (112 on FIG. 3)

For further explanation, FIG. 5 sets forth a flow chart illustrating anexample method of measuring SDRAM control signal timing according toembodiments of the present invention. The method of FIG. 5 includescombining (202) into a trigger signal (114) for an oscilloscope display(120) control signals of an SDRAM (318) under test. The control signalsare derived only from a single type of memory operations, either READsonly or WRITES only. In the example of FIG. 5, the control signalsinclude Chip Select (CS), Write Enable (WE), Column Address Strobe(CAS), and Row Address Strobe (RAS). In the method of FIG. 5, combining(202) control signals includes determining (204) the single type ofmemory operations from which the control signals are derived. When thesingle type of memory operations consists of READ operations, combining(202) the control signals includes combining the SDRAM control signalsaccording to: (NOT CS) AND RAS AND (NOT CAS) AND (NOT WE). When thesingle type of memory operations consists of WRITE operations, combining(202) the control signals includes combining the SDRAM control signalsaccording to: (NOT CS) AND RAS AND (NOT CAS) AND WE. Combining (202) thecontrol signals in some embodiments is carried out by combinatoriallogic installed in a test probe—in other embodiments by combinatoriallogic manufactured into the SDRAM under test—and in other embodiments bycombinatorial logic manufactured into the oscilloscope (118).

The method of FIG. 5 also includes adjusting (206) the trigger signalfor the latency effects of SDRAM access times by time shifting thetrigger signal. Time shifting the trigger signal is carried out in someembodiments by a shift register, in other embodiments by a delay line,in other embodiments by a phase locked loop, and in other embodiments bya delay locked loop. Other means of time shifting the trigger signal mayoccur to those of skill in the art, and all such means are within thescope of the present invention.

The method of FIG. 5 also includes driving (208), continually duringboth READ and WRITE operations to and from the SDRAM under test, theoscilloscope display with a memory bus data signal DQ (102) and a memorybus clock signal DQS (104) from the SDRAM under test. The beneficialeffect of driving (208) the oscilloscope display continually during bothREAD and WRITE operations while triggering the scope with a triggersignal based only one of READs or WRITEs but not both is illustrated andexplained with reference to FIG. 6.

FIG. 6 sets forth a line drawing of an oscilloscope display upon whichare shown test traces for DQ (102) and DQS (104) from an SDRAM undertest by a test pattern that includes a continual sequence containingboth READ operations and WRITE operations, and the oscilloscope displayis triggered by a trigger signal derived from SDRAM control signals froma single type of memory operations. In this example, the trigger signalis combined from control signals derived only from WRITEoperations—which we know because DQ (102) and DQS (104) are out of phasewith one another. The result of SDRAM signal timing test according toembodiments of this invention is the clear, legible trace imageillustrated in FIG. 6. T_(VB) is the period of time during which DQ isvalid before DQS becomes valid, and the T_(VA) measurement is the periodof time during which DQ is valid after DQS becomes invalid. Bothquantities are part of the JEDEC SDRAM specification. Both quantitiesare easily seen in this trace to be about 0.25 nanoseconds. FIG. 6invites comparison with FIG. 1. Using the trace of FIG. 1, themeasurement is impossible. With the trace of FIG. 6, the measurement iseasy—and the measurement includes any effects of bus turn around betweenREADs and WRITEs.

It will be understood from the foregoing description that modificationsand changes may be made in various embodiments of the present inventionwithout departing from its true spirit. The descriptions in thisspecification are for purposes of illustration only and are not to beconstrued in a limiting sense. The scope of the present invention islimited only by the language of the following claims.

1. A method of measuring control signal timing for synchronous dynamicrandom access memory (‘SDRAM’), the method comprising: combining into atrigger signal for an oscilloscope display control signals of an SDRAMunder test, the control signals derived only from a single type ofmemory operations; and driving, continually during both READ and WRITEoperations to and from the SDRAM under test, the oscilloscope displaywith a memory bus data signal (‘DQ’) and a memory bus clock signal(‘DQS’) from the SDRAM under test.
 2. The method of claim 1 wherein thecontrol signals comprise Chip Select (‘CS’), Write Enable (‘WE’), ColumnAddress Strobe (‘CAS’), and Row Address Strobe (‘RAS’).
 3. The method ofclaim 1 further comprising adjusting the trigger signal for the latencyeffects of SDRAM access times by time-shifting the trigger signal. 4.The method of claim 2 wherein time-shifting the trigger signal furthercomprises time-shifting the trigger signal by a shift register.
 5. Themethod of claim 1 wherein the single type of memory operations consistsof READ operations, and combining the SDRAM control signals furthercomprises combining the SDRAM control signals according to: (NOT CS) ANDRAS AND (NOT CAS) AND (NOT WE).
 6. The method of claim 1 wherein thesingle type of memory operations consists of WRITE operations, andcombining the SDRAM control signals further comprises combining theSDRAM control signals according to: (NOT CS) AND RAS AND (NOT CAS) ANDWE.
 7. The method of claim 1 wherein combining the control signals iscarried out by combinatorial logic installed in a test probe.
 8. Themethod of claim 1 wherein combining the control signals is carried outby combinatorial logic manufactured into the SDRAM under test. 9.Apparatus for measuring control signal timing for synchronous dynamicrandom access memory (‘SDRAM’), the apparatus comprising: combinatoriallogic that combines into a trigger signal for an oscilloscope displaycontrol signals of an SDRAM under test, the control signals derived onlyfrom a single type of memory operations; and the oscilloscope displayconnected to the SDRAM under test so as to drive, continually duringboth READ and WRITE operations to and from the SDRAM under test, theoscilloscope display with a memory bus data signal (‘DQ’) and a memorybus clock signal (‘DQS’) from the SDRAM under test.
 10. The apparatus ofclaim 9 wherein the control signals comprise Chip Select (‘CS’), WriteEnable (‘WE’), Column Address Strobe (‘CAS’), and Row Address Strobe(‘RAS’).
 11. The apparatus of claim 9 further comprising a time shiftingdevice connected between an output of the combinatorial logic and theoscilloscope display that adjusts the trigger signal for the latencyeffects of SDRAM access times by time-shifting the trigger signal. 12.The apparatus of claim 9 wherein the time shifting device furthercomprises a shift register.
 13. The apparatus of claim 9 wherein thesingle type of memory operations consists of READ operations, and thecombinatorial logic is configured to implement: (NOT CS) AND RAS AND(NOT CAS) AND (NOT WE).
 14. The apparatus of claim 9 wherein the singletype of memory operations consists of WRITE operations, andcombinatorial logic is configured to implement: (NOT CS) AND RAS AND(NOT CAS) AND WE.
 15. The apparatus of claim 9 wherein the combinatoriallogic is installed in a test probe.
 16. The apparatus of claim 9 whereinthe combinatorial logic is manufactured into the SDRAM under test.